﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CursoUNICEUB.Status;
using System.Globalization;
using FastDATA;

namespace CursoUNICEUB
{
    public partial class Configuracoes : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["aluno"] == null)
                {
                    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "login", "alert('Usuário não logado.');window.location='../Account/Login.aspx?lastpage=InserirCurso.aspx';", true);
                }
                else
                {
                    DEAluno aluno = (DEAluno)Session["aluno"];
                    if (aluno.Administrador)
                        CarregaTipoCurso();
                    else
                        this.ClientScript.RegisterClientScriptBlock(this.GetType(), "login", "alert('Apenas administradores podem entrar nesta página.');window.location='../Default.aspx';", true);
                }
            }
        }

        protected void CarregaTipoCurso()
        {
            try
            {
                using (DCCursoDataContext banco = new DCCursoDataContext())
                {
                    var q = from e in banco.DETipoCursos
                            orderby e.Descricao
                            select e;

                    this.ddlTipoCurso.DataSource = q.ToList();
                    this.ddlTipoCurso.DataBind();
                }
            }
            catch (Exception)
            {
                Util.showMessage(this, "Houve um erro ao carregar tipo de curso. Favor entrar em contato no Fale Conosco.", "../FaleConosco.aspx");
                
            }
        }

        protected void btnGravarCurso_Click(object sender, EventArgs e)
        {
            try
            {
                DEAluno aluno = (DEAluno)Session["aluno"];
                if (!aluno.Administrador)
                    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "login", "alert('Apenas administradores podem entrar nesta página.');window.location='../Default.aspx';", true);
                else
                    insereNovoCurso();
            }
            catch (Exception)
            {
                Util.showMessage(this, "Houve um erro no cadastro de curso. Favor entrar em contato no Fale Conosco.", "../FaleConosco.aspx");
                
            }
        }

        protected void insereNovoCurso()
        {
            try
            {
                DECurso novoCurso = new DECurso();
                using (DCCursoDataContext banco = new DCCursoDataContext())
                {
                    novoCurso.DataInicio = DateTime.Parse(this.txtDataInicio.Text);
                    novoCurso.DataFim = DateTime.Parse(this.txtDataTermino.Text);
                    novoCurso.Status = (short)StatusCurso.MatriculaAberta;
                    novoCurso.CodigoTipoCurso = int.Parse(ddlTipoCurso.SelectedItem.Value);

                    banco.DECursos.InsertOnSubmit(novoCurso);

                    banco.SubmitChanges();
                    Util.showMessage(this, "Curso cadastrado com sucesso.", "../Cursos.aspx");
                    return;
                }
            }
            catch (Exception)
            {
                Util.showMessage(this, "Houve um erro ao inserir um novo curso. Favor entrar em contato no Fale Conosco.", "../FaleConosco.aspx");
               
            }
        }
    }
}